UUParser
    an Internet file extraction utility for the Macintosh™

By John S. Lee, © 1993,1994.

UUParser takes out the header information in files that have been
uuencoded and uploaded to a newsgroup.

UUParser also allows you to "S"ave multiple articles from newsgroups,
normally in several parts, and re-assembles them as one contiguous file
ready for uudecoding.

UUParser can also automatically uudecode files for you.

Directory

FEATURES - The funtions of UUParser. 
INSTRUCTIONS - Getting UUParser set up for the first session.
FILE MANIPULATION (FILE MENU) - How to UUParse.
PREFERENCES - Configuring UUParser.
EDIT FILE TYPES - Making UUParser "SMART".
SPECIAL - Special options in UUParser.
REGISTRATION - How to get rid of the nasty reminder message.
CREDIT - To each his/her proper due!
COLD MOD STUFF - What's been changed/fixed/modified.
UUParser Internals & Notes - Do's, how's, why's, where's, dont's!
Upgrades - Upgrade information for registered users.
Future Additions - Functions to make UUParser even better.
Hints - Methods you can use to get the most out of UUParser.

   

Features

• Automatic stripping of header information from files "S"aved
   from a usenet newsgroup.
• "Smart" uudecoding.  Fully user configurable.
• uuencoding of AIFF (sound) files is now supported.
• uuencoding in PC, UNIX, and AIFF formats.
• User control over output file location.
• Join multiple text files for UUParsing & automatic decoding, from
   the menu OR the desktop.
• Split any text file into multiple parts using the Split File function.
• User configurable preferences.
• Automatic scan of text files for anomalies.
• Drag & Drop UUParsing supported via System 7.
• Parsing/uudecoding/encoding occurs in the background.
• Decodes/encodes/parses ANY SIZE FILE, regardless of memory.
• Parses BinHex files (version 1.8).
• The FASTEST uudecoding/encoding available for the Mac!

Instructions

Double-click on the application "UUParser"

(Note: If this is the first time you have used UUParser or 
 are upgrading from a previous version you MUST set the 
Target Directory!)

Select Set Target Directory from the Special menu so that
UUParser knows where to put the output files.  This directory
will also be used as the defualt for placement of decoded files.
(see note above)

Select Auto UUDecode from the SPECIAL menu if you want to 
automatically uudecode the parsed files.

Select UUParse or UUParse Several from the FILE menu.

Select the file you want to parse.

Choose another file or CANCEL (cmd .).

If you did not choose to Auto UUdecode your file you can 
uudecode it using UUDecode from the FILE menu.

DRAG & DROP
Select the documents you want to parse and drag them to the 
UUParser  icon.  
The application will start and the files will be parsed, decoded
and placed in you target directory.

*Holding down the Command key will automatically join the files!
*Selecting "Drag&Drp then Quit" in the Preferences will tell
UUParser to Quit after the drag & drop operation is complete.

File Manipulation

UUParse/UUParse Several
Opens files(s) for parsing.

Parse BinHex File
Parses a file that contains BinHex data.   This function is
enabled when your copy of UUParser is registered.

Join Files
Takes any number of files parses them and concatentates them.
Choose the first file to join.  Subsequent selections are attached
to the first file.  Parse the file and it's ready to uudecode.

Split File
Takes a file and seperates it into sections of 200-2000 lines each.
Each can then be uploaded to a newsgroup in succession for
someone to retrieve and re-assemble. This feature AUTOMATICALLY
installs BEGIN/END cut lines in each of the files it generates.

uudecode (smart)
uudecodes file(s) that has been parsed.  Before decoding it 
determines, by parameters you set (see Set File Types), 
what type of file type it should have.  Once decoded it
appears on the desktop as a document of the application 
you specify.

uuencode (configurable)
uuencodes a file. UUParser can encode items in PC/MS-DOS,
UNIX, AIFF->Linear (for sound), and AIFF->ULAW (for sound).
UUParser will also give create a filename in the proper format
for the encoding scheme chosen (i.e. if you chose MS-DOS the filename
will be 8chars.ext.; UNIX will have all whitespace replaced by "_").
The default scheme is UNIX, but you can change it from the MENU 
Encode Options, or in the Preferences dialog box.   If Mac is chosen
the scheme will use the UNIX encoding, but use the Macintosh
conventions for the filename.

Edit File Types

This function allows you to select a string that UUParser will
use to set the file's type and creator (so that they are recognized
by the Finder and your favorite application(s).  You select it
from the Edit menu.  You enter the file suffix along with the 
file type and creator associated with the file.  You are allowed
10 entries.  Many of them are already set up for you.
(example  file.jpg:             file suffix: .jpg
                                       file type       : JIFF
                                       file creator  : JVWR
 
   This sample shows that any file that is decoded that has the 
  ".jpg" extension in the filename will be set to the JPEGViewer
   file type.  This allows JPEGView to open the file directly from the
   finder without first "fixing" the file.)

The file suffix can be in upper/lower/mixed case.  UUParser will
correctly set the type/creator!

Preferences

Default values are enclosed in "[]".

Memory:
Disk based parsing  [ON]
 Read a file using the availble memory.  Use this option if
 you are trying to parse a file that is larger than the available
 memory (i.e a 900k file, and UUParser has a 640k partition).

File Control:
Delete source file  [OFF]
 Delete the soruce file once the scanning/parsing process
 has been done.

Delete .uu file [OFF]
 Delete the intermediate (filename.uu)
 file once the scanning/parsing process 4& done.
 At times, you may want to keep this file for
 debugging purposes.

Show status  [ON]
 Show progess indicator, just to let you know how much of the 
 file has been scanned/parsed.

SCAN file [ON]
 Check each character in the file to amke sure it is an ascii "printable" 
 character.  Prevents bad data (from a bad transmission or poor
 line conditions) from being interpreted by the uudecoding function.

Encoding:
PC - Uses pc-encoding.  Use this option when dealing with those,
er, MS-DOS machines.  Common encoding method used in usenet
newsgroups.

UNIX [ON]- Uses standard uuencode technology.  This one accepted
standard on Usenet Newsgroups.  This is the default setting.

MAC - Uses the UNIX standard of encoding BUT uses the Macintosh
filenaming convention (anything goes except ":").  This
version of UUParser is not intended to be used for encoding of 
applications, just documents and data files.  Therefore there is no
guarantee that if you encode an app that you will be able to get
it back (since UUParser ONLY encodes the data portion of files!).

AIFF->ULAW - Convert AIFF file to ULAW format (useful when
transferring sounds to Sun or NeXT workstations.

AIFF->Linear - Convert AIFF file to Macintosh Linear format.

File Splitting:
Set the UNIX read/write permissions (100-888) [644].
Set the lines/segment for the file that you wish to split [900].

Display:
Show line/byte info [YES].  
Used for debugging purposes.
Indicates the actual number of lines and bytes read from
the selected file.

Alerts:
Show Minor Problems [NO].
Displays errors concerning line length. Also warns of non-
contiguous files (i.e. 'begin' found before and 'end').
Usually does not affect parsing/decoding.

Misc:
Auto-SAVE [YES].
Will automatically save parsed files and decode them immediately
after parsing has completed successfully.  They are written to
the target directory specified by the user.  Set this option to
ON and set the Auto UUDecode to ON if you would like to
join, parse, and decode.

Drag&Drop then Quit [NO]
Tells UUParser to quit after parsing/decoding/etc. has been 
performed on files that have been Dragged & Dropped onto
the UUParser icon.

The OK button makes the changes for the session only.  No changes
are saved to the prefs file. 

The SAVE button writes the changes to the prefs file.

The Cancel button discard all changes.

The Default Settings button sets the preferences to the default
values outlines above.

Special

Scan Only
The SCAN ONLY disables all parsing/decoding functionality and
scans the files for non-printable characters.  If it finds 
these characters it issues a warning with what it found.

Auto UUDecode
This function allows automatic uudecoding of files that have been 
parsed.  By default this option is ON.
 
While this function is enabled UUParsing & uudecoding occur
in one pass.  The files are placed in your Target Directory
(see below).

Set Target Directory
NOTE:When using UUParser for the first time you MUST
set the target directory.  This is where all your
UUParsed files will go!  If it is not set, UUParser
will put the files in it's home directory OR the desktop!

Set target directory lets UUParser know where to put your file
once it has been parsed.  This is also handy because that directory
will be the first one looked into when the Auto UUDecode option
has been chosen.  Making the process of parsing/decoding
truly one step and painless.

Cold Mod Stuff

An abbreviated, but accurate history:

(Version 0.9)    Initial Coding

(Version 0.9b)  Added multiple-file parsing
                        additional conditions for parsing

(Version 1.0)   Added faster parsing.  Better memory management
                       parsing in memory.

(Version 1.1)   Added uudecoding w/ automatic 
                       file type/creator setting.

(Version 1.1f)  Better error detection of files that have no "end" markers.
                       Added Join Files capability.

(Version 1.2)   Added multiple-file drag-drop parsing functionality.
                       Data errors are not reported on a byte/byte basis, 
                       just once.
                       Parsing process is speeded up ten-fold.  
                       Operates on a 100k file in 1.5
                       secs (as tested on a IIsi w/o math).
                       uudecode speeded up. 
                       Create versions of UUParser for each type of platform:
                      1.2  -> for all macs 68000 and up
                      1.2(020) -> for macs w 68020/68030/68040 w/o math co.
                      1.2(020/881) -> all macs w/ 020/030/040 & math co.

(Version 1.3)  Added uuengine technology.  Background processing
                      when uudecoding.  UUdecode/encode window is now movable.
                      Have the option of continuing when disk errors occurs.
                      (previously it exited the program!).
                      Can now select target directory for uudecoded files.

(Version 1.5)  Added configurable uuencoding, smart uudecoding,
                      selection of automatic type/creator, splitting of files,
                      selection of encoding scheme from menu, setting of
                      target directory for UUParsed files, multiple file selection
                      when decoding.  Auto-Decode automatically set to "ON". 
                      Universal code now compatible with ALL Macintoshes
                      (running sys 7).

(Version 1.7)  Better memory management.  UUParser can parse large
                      files regardless of the amount of memory available to
                      the application.  UUParser can parse in the background.
                      UUParser now notifies you when parsing has completed
                      (when running in the background).  You can have UUParser
                      rename the files in upper case.  During Drag & Drop,
                      if you hold down the COMMAND key, UUParser will 
                      automatically Join the files for you. 

(Version 1.71) Allows parsing of files irregardless of amount of memory.
                       Decreased the allocated memory size to 384k.

(Version 1.71c) Allows parsing of files irregardless of amount of 
                         memory.
                       Fixed file locking problems,and  problems with 
                       joining from the finder.

(Version 1.72) First registered users version.  Removed memory 
                       restrictions for joining.  
                       Fixed file locking problem during abort.

(Version 1.72a)Disk based version.  Requires no additional memory †                   join files.
                       Fixed file locking problems,and  problems with 
                       joining from the finder.  Integrated changes into
                       version 1.72 (1.72 is now shareware as of 5/94).

(Version 1.8)  Added binhex file parsing.

* 1.72 is the shareware version until further notice.

UUParser Internals & Notes

UUParser stores the preferences info in the UUP Prefs file
in the Preferences folder in your System Folder.  The Prefs
consists of UUParser parsing options, encoding prefs, 
and target directory info.  The file suffix parms that make UUParser
"smart" are stored in the AtTr & STR# resources.  Because
UUParser makes certain assumtions about these files you should
not change them directly!  If you do UUParser will not work properly
or at all.  If you have to make changes, use UUParser's Preferences
from the File menu to do so!

If you have a previous version of UUParser (0.9-1.2) you may get a
disk error when the program is started.  This is becuase the Prefs file
format is different in 1.7 than in previous versions.  Dont worry. 
Just hit the continue button, set up your preferences, choose
a target directory and the problem will be corrected (be sure to
SAVE your prefs).

I wanted to make UUParser useful for systems 6 & 7.  Since
system 7 has so many niceities when it comes to file handling
I decided that version 1.7 and up would be reliant on system 7 for
proper usage.  Some items may not work properly if you are not
using system 7.

The "use 20 times and pay" policy was my idea of fair.  
Most shareware programs have a 30 days policy, 
but I figured that after a certain amount of uses you would get a
good idea as to UUParsers worth.  20 was the number I came up with.
Why did I mention this?  To once again encourage you to use it, and pay
for it once you have used it 20 times.  There will be upgrades and
additions that you will get ONLY if you are registered.  When you
register, the NOT REGISTERED message is removed.

Upgrades

To keep things simple, cheap, and virtual, I will e-mail all upgrades
to UUParser's registered owners.

To upgrade  thru the mail (available to registered uses ONLY):
$15 w/ SASE
$10 w/ SASE + DISK

Future Additions

UUParser was originally designed to do one thing, parse files.
Now it has many features and additions that extends that basic
funtion.  It is now a full fledged uudecoder/uuencoder, file
splitter, and text file verifier.  But the fans, and registered
users of UUParser have asked for even more, and I am more than
happy to include these additions for UUParser users.   The next major
release will be 2.0.  There may  be intermediate versions until 2.0, but
these will concentrate on mods to version 1.5 technology.  
Version 2.0 will be avaialble to registered users only.

Version 2.0 will include:
•Control over parsing parameters.
•A more versatile join function.
•Encode/decode Mac apps.
•Binhex encode/decode.
...and LOTS more! 

Hints

• To save time if you have multiple files "Join" them into one file,
then parse the joined file.  If Auto-UUDecode is on ALL of the files
will be decoded and placed in your Target Directory. Make sure
you allocate enough memory for this operation.  If you use set
Auto-SAVE in your preferences, the joined file will automatically
be parsed and decoded (if you checked the "Auto UUDecode" from
the Special menu).

• If you get -1 disk errors while decoding it means that the 
file is corrupt.  Some people have trouble sending files to 
newsgroups.  You can attempt to fix the file with a text editor
or try another file.

• Disk errors that occur when the program is loading are most
likely due to an error UUP Prefs file.  You should be able to continue.
Reset your preferences, set your target directory, and save the
changes.  This will correct the file.  If it does not work, delete the
prefs file and re-start UUParser (the file is in "System Folder:
Preferences:UUP Prefs").

• If you get disk errors while UUParsing or uudecoding they are
most likely due to the target directory not being set.  Remember
to set up your Target Directory when you use UUParser for the
first time.  The changes are saved to the preferences file.

• Some people do not put cut lines in their files.  Instead they
use line breaks, or worse yet, blank lines.  There really is no
universal rule about posting to a newgroup.  If you have problems
with a file check it out with a text editor, delete the offending lines,
UUParse the file again,and re-attempt decoding.  If this does not
work the file is probably bad.

• Remember when Joining, the files must be in the right
order if you are planning to parse/decode them.  Take great
care in the join process.

• I am always looking for ways to improve this product.  If you
have any ideas as to what you'd like to see UUParser do,
that it does currently not do, or just changes you'd like to see,
don't be shy.  E-mail me with your suggestion.  I will get back to you
asap.

Registration

UUParser is SHAREWARE.  Use it 20 times.  If you like it, register it
by sending $25.00 (US funds) to:

John S. Lee
1600 Fell St. #210
San Francisco, CA. 94117

e-mail (for bug reports, enhancement requests, and questions):
Internet->   jsl@netcom.com
AOL       ->   JSLee

By registering you are entitled to updates of UUParser
as they become available.

This HELP document does not replace the documentation.  
Read it for additional technical 
 information about UUParser.

THANKS for using UUParser!

Credits

Programming/Design: John S. Lee

Testing                     : Mike Baranowski & Brian K. Tanaka
Support                    : Arlene G. Lee & Sultan I. Lee
uu-engine software   : B. Wieser & Octavian Micro Development
Documentation          : Mike Baranowski & John S. Lee
uudecode info            : Peter Honeyman, Robert Perlberg, and Tim Rose
Help Dialog Utility     : James W. Walker
Special Props           : Brian K. Tanaka for the ever consistent
                                 "You know, it would be even better if..." &
                                 "You know what you oughta add is..."

                                 Mike Baranowski for the ever present
                                 "Is there a way of..." & "...can you add this
                                   one other mod...".

                                 B. Wieser for user interface suggestions. 

                                 To ALL of them for the many ideas that makes
                                 UUParser useful and fun to use.

uu-engine Copyright 1991 by B. Wieser and Octavian Micro Development.
Macintosh™ is a registered trademark of Apple Computer, Inc.
UNIX™ is a registered trademark of AT&T Information Systems.

Legal note:  Use the software at your own risk.  I am not responsible for
lost data.  The program has been tested as best it could be.  I make no other
warranties, either expressed or implied.

UUParser is Copyright 1993,1994 by John S. Lee & Truly Mac, Inc.
All Rights Reserved.